
大家應該還記得昨天我們有說到今天會聊聊TableView Cell的內容,事不宜遲,
馬上來聊聊Navigation Bar吧(?
注意!!今天要講的不是TableView Cell哦,已經將主題改為Navigation Bar!

大家可以發現鬧鐘的新增與編輯都是靠最上面這兩顆按鈕來完成的,這兩顆按鈕其實有專屬的名稱分別是:
應該光看名稱就知道誰是誰了吧
那馬上使用Code來製作他們吧!
func setNavigation() {
        //Left Button
        let editButton = UIBarButtonItem(title: "編輯",
                                         style: .plain,
                                         target: self,
                                         action: #selector(editAlarm))
        editButton.tintColor = .orange
        self.navigationItem.leftBarButtonItem = editButton
        //Right Button
        let addButton = UIBarButtonItem(image: UIImage(systemName: "plus"),
                                        style: .plain,
                                        target: self,
                                        action: #selector(addAlarm))
        addButton.tintColor = .orange
        self.navigationItem.rightBarButtonItem = addButton
    }
這邊來稍微說明一下Code的內容:
由於Navigation Bar的Button只接受UIBarButtonItem型態,因此這邊才會將Button宣告為UIBarButtonItem型態。
首先宣告一個名稱為editButton的變數,其型態為UIBarButtonItem,
UIBarButtonItem所使用的四個變數說明如下:
設定完後再將按鈕的顏色更改為橘色,之後再 assign 到 Navigation Bar Button 裡面。
右邊的按鈕基本上也是一樣的設定方式,唯一不同的是:右邊的按鈕是一個 + 符號的圖案
因此這邊使用 UIImage(systemNamed: "plus") 來實作一個圖案為 + 的按鈕。
UIImage(systemNamed: "...")是去Xcode的內建圖庫依照名稱去抓取相對應的圖片,
更多圖片名稱可以去載SF Symbol了解一下
到這邊按鈕基本上已經設定完成了,但是Xcode應該會報錯,因為我們還沒實作這兩顆按鈕按下的Function,
因此這邊先新增兩個沒有內容的Function:
@objc func editAlarm() {
    }
@objc func addAlarm() {
    }
OK,這樣應該就沒問題了,記得把設定 Navigation 的 Function 加進去 viewDidLoad()中哦!
override func viewDidLoad() {
        super.viewDidLoad()
        setViews()
        setLayouts()
        // Set Navigation
        setNavigation()
    }
執行專案後應該會呈現出下面這樣:
明天應該會來說說這兩顆按鈕的動作,明天見囉